JENKINS将参数作为输入传递到远程主机脚本

您所在的位置:网站首页 jenkins 变量传递 JENKINS将参数作为输入传递到远程主机脚本

JENKINS将参数作为输入传递到远程主机脚本

2024-05-07 19:49| 来源: 网络整理| 查看: 265

对于Jenkins项目和构建,我们有一个(3)层系统。我们通过SSH插件和密钥在工作节点和远程主机之间建立了信任关系。

代码语言:javascript复制jenkinsrh-01 = main jenkins server (gui for projects/builds, dashboard, etc) sys-07 = worker node (projects / builds are run from this remote node) raloda10 = remote host (target of builds)

在主Jenkins服务器(jenkinsrh-01)的gui配置屏幕中,我们有下面的项目代码和硬编码的参数值等。$SCRIPT位于远程主机上,我们希望传递参数值以供远程主机脚本使用。

生成-->执行Shell -->命令

代码语言:javascript复制#!/bin/bash export ORACLE_USER="oracle" export ODA_HOST="raloda10" export DATABASE="DEV11G05" export SCHEMA="ASA14101X5" export COMMENT="good state archive" export SCRIPT="/u01/app/oracle/databases/dev11g05/bod/jenky_test.sh" sudo -i -u ${ORACLE_USER} ssh ${ODA_HOST} ${SCRIPT}

在目标远程主机(raloda10)上,目标脚本的内容是一个简单的测试,用于回显在上面的构建步骤中通过“导出”术语传递给它的参数值。目标远程主机脚本(jenky_test.sh)内容为;

代码语言:javascript复制#!/bin/bash # # echo echo This is correct target script on remote host echo echo 1. Source database: ${DATABASE} echo 2. Name of schema: ${SCHEMA} echo 3. Comments: ${COMMENT} echo echo ${DATABASE} echo ${SCHEMA} echo ${COMMENT} # exit

worker构建可以访问远程主机,找到远程主机脚本,并运行外壳脚本"jenky_test.sh“。

但问题是,在jenky_test.sh脚本运行时,没有任何构建参数被传递给它。它不会回显这些值,因为它们是空的,如下面的“控制台输出”所示;

代码语言:javascript复制Started by user Donald Collins [EnvInject] - Loading node environment variables. Building remotely on sys-07 (SYS-07) in workspace /var/lib/jenkins/workspace/fails_Send_Jenkins_Parameters_fromSlave_as_Inputs_for_Script_on_Remote_Host [fails_Send_Jenkins_Parameters_fromSlave_as_Inputs_for_Script_on_Remote_Host] $ /bin/bash /tmp/hudson7103389345936604753.sh This is correct target script on remote host 1. Source database: 2. Name of schema: 3. Comments:

控制台输出应该显示上述行1、2和3中导出的变量(参数)的值。相反,它们是空白的。

我已经尝试了执行Shell的命令步骤中"sudo“调用的各种不同编码的各种组合。"Nothing“似乎能够获得要作为输入传递给远程目标主机上的jenky_test.sh的参数值。

我确信我在这里遗漏了一些显而易见的东西,因为我试图用Jenkins做的是"Jenkins 101“的东西;)……

任何帮助或建议都是非常感谢的。

致以最好的问候,唐纳德



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3